HAL I2C IRQ handler and callbacks functions migration

This section provides information about the HAL I2C control functions migration.

HAL I2C callbacks functions

Note

The function names have been changed from HAL_I2C_MasterTxCpltCallback() to HAL_I2C_MemRxCpltCallback().

The functions HAL_I2C_ErrorCallback() and HAL_I2C_AbortCpltCallback() remain unchanged.

HAL1

HAL2

HAL_I2C_MasterTxCpltCallback()

HAL_I2C_MASTER_TxCpltCallback()

HAL_I2C_MasterRxCpltCallback()

HAL_I2C_MASTER_RxCpltCallback()

HAL_I2C_SlaveTxCpltCallback()

HAL_I2C_SLAVE_TxCpltCallback()

HAL_I2C_SlaveRxCpltCallback()

HAL_I2C_SLAVE_RxCpltCallback()

HAL_I2C_AddrCallback()

HAL_I2C_SLAVE_AddrCallback()

HAL_I2C_ListenCpltCallback()

HAL_I2C_SLAVE_ListenCpltCallback()

HAL_I2C_MemTxCpltCallback()

HAL_I2C_MASTER_MemTxCpltCallback()

HAL_I2C_MemRxCpltCallback()

HAL_I2C_MASTER_MemRxCpltCallback()

HAL_I2C_ErrorCallback()

HAL_I2C_ErrorCallback()

HAL_I2C_AbortCpltCallback()

HAL_I2C_AbortCpltCallback()


HAL I2C callbacks register and unregister functions

title

HAL1

HAL2

Register master Tx complete callback

HAL_I2C_RegisterCallback(&i2c_handle,
                         HAL_I2C_MASTER_TX_COMPLETE_CB_ID,
                         USER_I2C_MasterTxCpltCallback);
HAL_I2C_MASTER_RegisterTxCpltCallback(&i2c_handle,
                                      USER_I2C_MASTER_TxCpltCallback);

Register master Rx complete callback

HAL_I2C_RegisterCallback(&i2c_handle,
                         HAL_I2C_MASTER_RX_COMPLETE_CB_ID,
                         USER_I2C_MasterRxCpltCallback);
HAL_I2C_MASTER_RegisterRxCpltCallback(&i2c_handle,
                                      USER_I2C_MASTER_RxCpltCallback);

Register slave Tx complete callback

HAL_I2C_RegisterCallback(&i2c_handle,
                         HAL_I2C_SLAVE_TX_COMPLETE_CB_ID,
                         USER_I2C_SlaveTxCpltCallback);
HAL_I2C_SLAVE_RegisterTxCpltCallback(&i2c_handle,
                                     USER_I2C_SLAVE_TxCpltCallback);

Register slave Rx complete callback

HAL_I2C_RegisterCallback(&i2c_handle,
                         HAL_I2C_SLAVE_RX_COMPLETE_CB_ID,
                         USER_I2C_SlaveRxCpltCallback);
HAL_I2C_SLAVE_RegisterRxCpltCallback(&i2c_handle,
                                     USER_I2C_SLAVE_RxCpltCallback);

Register memory Tx completed callback

HAL_I2C_RegisterCallback(&i2c_handle,
                         HAL_I2C_MEM_TX_COMPLETE_CB_ID,
                         USER_I2C_MemTxCpltCallback);
HAL_I2C_MASTER_RegisterMemTxCpltCallback(&i2c_handle,
                                         USER_I2C_MASTER_MemTxCpltCallback);

Register memory Rx completed callback

HAL_I2C_RegisterCallback(&i2c_handle,
                         HAL_I2C_MEM_RX_COMPLETE_CB_ID,
                         USER_I2C_MemRxCpltCallback);
HAL_I2C_MASTER_RegisterMemRxCpltCallback(&i2c_handle,
                                         USER_I2C_MASTER_MemRxCpltCallback);

Register listen completed callback

HAL_I2C_RegisterCallback(&i2c_handle,
                         HAL_I2C_LISTEN_COMPLETE_CB_ID,
                         USER_I2C_ListenCpltCallback);
HAL_I2C_SLAVE_RegisterListenCpltCallback(&i2c_handle,
                                         USER_I2C_SLAVE_ListenCpltCallback);

Register error callback

HAL_I2C_RegisterCallback(&i2c_handle,
                         HAL_I2C_ERROR_CB_ID,
                         USER_I2C_ErrorCallback);
HAL_I2C_RegisterErrorCallback(&i2c_handle,
                              USER_I2C_ErrorCallback);

Register abort callback

HAL_I2C_RegisterCallback(&i2c_handle,
                         HAL_I2C_ABORT_CB_ID,
                         USER_I2C_AbortCpltCallback);
HAL_I2C_RegisterAbortCpltCallback(&i2c_handle,
                                  USER_I2C_AbortCpltCallback);

Register address callback

HAL_I2C_RegisterAddrCallback(&i2c_handle,
                             USER_I2C_AddrCallback);
HAL_I2C_SLAVE_RegisterAddrMatchCallback(&i2c_handle,
                                        USER_I2C_SLAVE_AddrCallback);

Unregister master Tx complete callback

HAL_I2C_UnRegisterCallback(&i2c_handle,
                           HAL_I2C_MASTER_TX_COMPLETE_CB_ID);
HAL_I2C_MASTER_RegisterTxCpltCallback(&i2c_handle,
                                      HAL_I2C_MASTER_TxCpltCallback);

Unregister address callback

HAL_I2C_UnRegisterAddrCallback(&i2c_handle,
                               HAL_I2C_MASTER_TX_COMPLETE_CB_ID);
HAL_I2C_SLAVE_RegisterAddrMatchCallback(&i2c_handle,
                                        HAL_I2C_SLAVE_AddrCallback);

Related concept: Individual callback registration APIs replace global register and unregister functions


HAL I2C IRQ handler functions

Note

The functions HAL_I2C_EV_IRQHandler() and HAL_I2C_ER_IRQHandler() remain unchanged.

HAL1

HAL2

HAL_I2C_EV_IRQHandler()

HAL_I2C_EV_IRQHandler()

HAL_I2C_ER_IRQHandler()

HAL_I2C_ER_IRQHandler()